With the big boom of information available on the internet, it is a challenge to effectively and efficiently select data meaningful to users from a massive amount of information. For example, search engines have become important tools for users to retrieve or organize data from the web. User experience of search engines largely depends on whether users can get enough useful information after the users submit queries to the search engines. Therefore search engines attempt to index as much data as possible to serve the user queries. However, due to performance and cost constraints, search engines usually index a limited number of data to answer the queries.